// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); 1win Yüklə Android apk və iOS app 2025 Pulsuz Indir kazino – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

1win Yüklə Android apk və iOS app 2025 Pulsuz Indir kazino

1win az saytını zəvqlə kəşf edə bilərsiniz, 1win giriş üçün sizə tələb olunan bütün məlumatlar burada mövcuddur. 1win saytına daxil olaraq, 1win oyna bölməsindən istifadə edə bilərsiniz və müxtəlif kazino oyunlarına qoşula bilərsiniz. 1win aviator kimi məşhur oyunlar da sizə maraqlı gələ bilər.

1win indir etmək üçün sizə ən son versiya təklif olunur, bu sayədə 1win yüklə prosesi asan və sürətli keçir. 1win azerbaycan istifadəçiləri üçün xüsusi təkliflər də mövcuddur, 1win az saytını yoxlayaraq, daha ətraflı məlumat əldə edə bilərsiniz.

Siz 1win saytına daxil olaraq, 1win giriş prosedurunu keçdikdən sonra, müxtəlif oyunlara və təkliflərə baxış keçirə bilərsiniz. 1win aviator və digər oyunlar sizə maraqlı gələ bilər, 1win oyna bölməsindən istifadə edərək, şansınızı yoxlaya bilərsiniz. 1win azerbaycan istifadəçiləri üçün 1win yüklə prosesi də asanlaşdırılmışdır.

1win Yüklə Android apk və iOS app 2025 Pulsuz İndir kazino

1win giriş saytını ziyarət edərək, siz 1win oyna bölməsində müxtəlif kazino oyunlarına qoşula bilərsiniz. 1win yukle etmək üçün siz 1win скачать linkinə daxil olub, android və ya ios üçün uyğun olan versiyanı seçməlisiniz.

1win azerbaycan istifadəçiləri üçün xüsusi təkliflər mövcuddur. Siz 1win az saytında 1win indir linkinə daxil olaraq, pulsuz şəkildə aplikasiyanı yükləyə bilərsiniz. 1win giriş saytını ziyarət edərək, 1win вход bölməsindən keçid şəraiti ilə tanış ola bilərsiniz.

1win kazino oyunlarından həzz alıb, qazanmaq üçün siz 1win yukle etməli və oyunlara qoşulmalısınız. 1win oyna bölməsində siz müxtəlif slot maşınları, kart oyunları və digər kazino oyunlarına qoşula bilərsiniz.

1win Android Apk Yükləmə Qaydaları

1win az saytına daxil olduqdan sonra, siz 1win giriş üçün lazımi məlumatları daxil edərək, hesabınıza daxil ola bilərsiniz. 1win azerbaycan istifadəçiləri üçün xüsusi təkliflər və bonuslar mövcuddur. 1win indir etmək üçün, siz 1win saytına gedib, “İndir” düyməsini tıklayıb, android apk-ni pulsuz yükləyə bilərsiniz.

1win oyna üçün, siz hesabınıza daxil olduqdan sonra, oyunlara keçid edə bilərsiniz. 1win aviator oyunu xüsusilə populyardır və siz bu oyunda real pul qazana bilərsiniz. 1win скачать etmək üçün, siz 1win saytına gedib, “İndir” düyməsini tıklayıb, ios app-i pulsuz yükləyə bilərsiniz.

1win вход üçün, siz hesabınıza daxil olduqdan sonra, siz 1win saytında mövcud olan bütün xidmətlərdən istifadə edə bilərsiniz. 1win az saytına daxil olduqdan sonra, siz 1win giriş üçün lazımi məlumatları daxil edərək, hesabınıza daxil ola bilərsiniz və 1win oyna üçün oyunlara keçid edə bilərsiniz.

1win iOS App Yükləmə Qaydaları

1win iOS app-ni yükləmək üçün ilk növbədə 1win giriş səhifəsinə daxil olun və “1win indir” bölməsini seçin. Buradan “1win az” dilini seçərək, 1win yükləmə prosesinə başlamaq olar.

1win aviator oyununu və digər kazino oyunlarını oynamaq üçün 1win giriş hesabınızı yaratmaq lazımdır. 1win giriş hesabınızı yaratdıqdan sonra, 1win yükləmə prosesini başladaraq, 1win iOS app-ni pulsuz şəkildə yükləyə bilərsiniz.

1win azerbaycan istifadəçiləri üçün 1win yükləmə prosesi çox asandır. 1win yükləmə səhifəsində “1win yukle” düyməsini seçərək, 1win iOS app-ni yükləyə bilərsiniz.

1win Yükləmə Qaydaları
İzləmək Lazımdır

1. 1win giriş səhifəsinə daxil olun 1win giriş hesabınızı yaratmaq və 1win yükləmə prosesinə başlamaq üçün 2. “1win indir” bölməsini seçin 1win yükləmə prosesini başladaraq, 1win iOS app-ni pulsuz şəkildə yükləmək üçün 3. “1win az” dilini seçin 1win yükləmə prosesini asanlaşdırmaq və 1win aviator oyununu oynamaq üçün 4. 1win yükləmə prosesini başladın 1win iOS app-ni yükləyərək, 1win azerbaycan istifadəçiləri üçün 1win yükləmə prosesini tamamlamaq üçün

1win yükləmə prosesini tamamladıqdan sonra, 1win giriş hesabınıza daxil olaraq, 1win aviator oyununu və digər kazino oyunlarını oynaya bilərsiniz. 1win azerbaycan istifadəçiləri üçün 1win yükləmə prosesi çox asandır və pulsuzdur.

1win Kazino Oyunları

1win kazino oyunları, 1win giriş və 1win вход vasitəsilə əldə olunan bir çox maraqlı oyunları özündə birləşdirir. 1win indir və 1win yukle etməklə, siz də bu oyunları oynamaq imkanı əldə edə bilərsiniz. 1win az saytında, sizə 1win aviator, 1win oyna və digər oyunlar təqdim olunur.

1win Kazino Oyunları Növləri

1win kazino oyunları, müxtəlif janrlarda təqdim olunur. Bunlara, rulet, poker, blackjack və s. aiddir. 1win azerbaycan oyunçuları, bu oyunları oynamaq üçün, 1win saytına daxil olmalı və oyunu seçməlidir.

Oyun Adı
Oyun Haqqında

1win Aviator 1win aviator, bir növ slot oyunudur. Oyunçular, bu oyunda, təyyarənin uçuşunu izləyir və müəyyən bir yüksəlişdə, oyunu dayandırmağa çalışırlar. 1win Rulet 1win rulet, klassik rulet oyunudur. Oyunçular, bu oyunda, topun hansı rəngdə və ya hansı ədəddə dayanağını müəyyən etməyə çalışırlar.

1win Kazino Oyunlarına Daxil Olmaq

1win kazino oyunlarına daxil olmaq, olduqca asandır. Siz, 1win saytına daxil olmalı, 1win giriş və 1win вход prosedurlərini yerinə yetirməli və oyunu seçməlisiniz. 1win indir və 1win yukle etməklə, siz də bu oyunları oynamaq imkanı əldə edə bilərsiniz.

1win Bonus və Endirimlər

1win aviator, 1win az, 1win oyna və digər xidmətlərdən istifadə edən istifadəçilərə müxtəlif bonus və endirimlər təklif olunur. 1win yukle və 1win indir etdikdən sonra, siz də bu təkliflərdən yararlanara bilərsiniz. 1win vstup və 1win скачать prosesləri çox asandır və sizə müxtəlif bonuslar və endirimlər təklif edir.

Qeydiyyat Bonusu

1win azerbaycan istifadəçiləri üçün xüsusi qeydiyyat bonusu təklif olunur. 1win oyna və 1win aviator xidmətlərindən istifadə edən istifadəçilər, qeydiyyatdan sonra bonusu almaq hüququna malik olurlar. Bu bonus, sizə daha çox oyun və qazanma imkanı verir.

1win yukle və 1win indir 1 win etdikdən sonra, siz də bu bonusu ala bilərsiniz. 1win vstup və 1win скачать prosesləri çox asandır və sizə müxtəlif bonuslar və endirimlər təklif edir. 1win az saytında daha çox məlumat əldə edə bilərsiniz.

1win Ödəniş Üsulları

1win aviator və digər oyunlar üçün ən etibarlı ödəniş üsullarını təqdim edir. 1win oyna və 1win giriş üçün sizə lazım olan ödəniş variantlarını seçə bilərsiniz.

  • 1win скачать və 1win az üçün mobil ödəniş üsulları
  • 1win indir və 1win yukle üçün kredit kartları
  • 1win вход üçün elektron pul köçürmələri

1win-də ödənişlər üçün müxtəlif variantlar mövcuddur. Siz 1win-ə daxil olaraq, ödəniş üsullarını seçə və oyunlara başlamağa başlaya bilərsiniz.

  • Ödəniş üsullarını seçin
  • Məbləği daxil edin
  • Ödənişi təsdiq edin
  • 1win-də ödənişlər asan və təhlükəsizdir. Siz 1win-ə etibar edə bilərsiniz və oyunlara başlamağa başlaya bilərsiniz.

    1win Təhlükəsizlik və Məxfilik

    1win yukle və 1win aviator kimi məşhur oyunlar oynamaq istəyən istifadəçilər üçün təhlükəsizlik və məxfilik ən vacib amillərdəndir. 1win giriş zamanı istifadəçilərin şəxsi məlumatları və ödənişləri qorunur. 1win oyna və 1win azerbaycan kimi xidmətlərdən istifadə edərkən, siz 1win-in təhlükəsizlik tədbirləri ilə qorunursunuz.

    1win saytı SSL şifrələməsi ilə qorunur, bu da istifadəçilərin məlumatlarının məxfi qalmasını təmin edir. 1win скачать və 1win indir etmək üçün siz 1win az saytına daxil ola bilərsiniz və təhlükəsiz şəkildə oyunlar oynaya bilərsiniz.

    1win tərəfindən təklif olunan təhlükəsizlik xidmətləri arasında şəxsi məlumatların qorunması, ödənişlərin təminatı və oyunların nəzarəti daxildir. 1win saytında oynamaq üçün siz 1win yukle və 1win aviator kimi oyunları yükləyə bilərsiniz və təhlükəsiz şəkildə oynaya bilərsiniz.

    1win Dəstək Xidməti

    1win giriş zamanı və ya 1win yukle prosesi zamanı problem yaşayırsınızsa, 1win dəstək xidməti sizə kömək edə bilər. 1win скачать və 1win aviator oyunlarını oynamaq istəyirsinizsə, lakin problem yaşayırsınızsa, dəstək xidmətinə müraciət edə bilərsiniz.

    • 1win oyna zamanı yaşadığınız problemləri həll etmək üçün dəstək xidməti sizə kömək edə bilər.
    • 1win indir prosesi zamanı problem yaşayırsızsa, dəstək xidməti sizə kömək edə bilər.
    • 1win az saytında problem yaşayırsızsa, dəstək xidməti sizə kömək edə bilər.

    1win вход zamanı problem yaşayırsızsa, dəstək xidməti sizə kömək edə bilər. Dəstək xidməti sizə 24/7 kömək edir və sizin problemınızı həll etməyə çalışır.

  • Dəstək xidmətinə müraciət etmək üçün sizə əlaqə forması lazımdır.
  • Sizə dəstək xidməti tərəfindən cavab veriləcək və sizin problemınız həll ediləcək.
  • Dəstək xidməti sizə 1win giriş, 1win yukle, 1win скачать, 1win aviator, 1win oyna, 1win indir, 1win az və 1win вход ilə bağlı məlumatlar verə bilər.
  • Design and Develop by Ovatheme